Skip to content

Conversation

@franccesco
Copy link
Owner

Summary

This PR adds bulk creation functionality to the Bloomy Python SDK, allowing users to efficiently create multiple resources in a single operation. The implementation uses a best-effort approach with detailed error reporting.

Key Changes

  • New Models: Added BulkCreateResult[T] and BulkCreateError for handling bulk operation results
  • Bulk Methods: Implemented create_many() for Issues, Todos, Goals, and Meetings
  • Sequential Processing: Operations are processed sequentially to avoid rate limiting
  • Error Handling: Failed operations are captured and returned alongside successful ones
  • Documentation: Added comprehensive bulk operations guide with examples
  • Testing: Added 9 test cases covering success, partial failures, and validation errors

Implementation Details

  • Best-effort approach: failures don't stop processing of remaining items
  • Detailed error reporting with original index and input data
  • Type-safe generic result structure using Python 3.12+ syntax
  • Maintains 97% test coverage

Breaking Changes

None - this feature adds new functionality without modifying existing APIs.

🤖 Generated with Claude Code

franccesco and others added 7 commits June 28, 2025 19:38
… and meetings

- Add BulkCreateResult[T] and BulkCreateError models for handling bulk operation results
- Implement create_many() method for IssueOperations with best-effort processing
- Implement create_many() method for TodoOperations with sequential processing
- Implement create_many() method for GoalOperations with validation
- Implement create_many() method for MeetingOperations with error handling
- All bulk operations process items sequentially to avoid rate limiting
- Return detailed results showing both successful and failed operations

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
- Add tests for successful bulk creation of issues, todos, goals, and meetings
- Add tests for partial failure scenarios with detailed error capture
- Add tests for validation errors and missing required fields
- Cover edge cases like empty input lists
- All tests use mocked HTTP responses for isolation

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
- Create comprehensive bulk operations guide with examples for all resources
- Add best practices section for handling bulk operation results
- Update quickstart guide to mention bulk operations capability
- Update usage guide with link to bulk operations documentation
- Add bulk operations to main documentation index
- Include error handling examples and edge case documentation

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
- Format test files to comply with ruff style rules
- Remove unnecessary blank lines and fix line length issues
- Ensure consistent formatting across all test modules

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
@franccesco franccesco merged commit 46a2d60 into main Jul 25, 2025
2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant